home *** CD-ROM | disk | FTP | other *** search
- Version 2.21
-
- I've rewritten the windows manager. I switched from the from the TPRO
- library to the OPRO library. This gives me several more display
- related functions. But as any major change, there may be some bugs so
- don't throw your old MarxMenu away on this version. I've also switched
- to Turbo Pascal 6.
-
- I've been updating the manual and the manual that come with this
- program is more up to date than our printed manuals. So print
- MARXMENU.DOC and use it.
-
- New Features:
-
- ResizeWindow
- HeaderLeft
- HeaderRight
- Footer
- FooterLeft
- FooterRight
- InactiveBox
- InactiveBoxColor
- CurrentWindow
- SetTopWindow
- DvPifExecute
- DvAppNumber
- CustomBox
-
- These commands are explained in the manual.
-
- ===============================================================
-
- Version 2.22
-
- I've rewritten the INST.MNU to produce a new kind of MARX.BAT file
- which is much more flexable than the old one. Run MARXMENU INST to
- create new files.
-
- ===============================================================
-
- Version 2.23
-
- Dealing with multiple dos shells:
-
- If you are running more than one COMMAND.COM (Shelling from Windows,
- DesqView, Word Perfect Office) and having environment space problems
- here's a trick. Before you load up your fancy shells, put this in a
- batch file like your AUTOEXEC.BAT.
-
- SET MXCMD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- This variable will be trashed by MarxMenu and will not only allow
- MarxMenu to run but may solve problems with other programs you are
- running as well.
-
- New Features:
-
- MarxVersion
- ReleaseDate
- Cursor (On/Off)
- ForceExplosion (On/Off)
- BatchFileName
- PrinterName
- OpenPrinter
- ClosePrinter
- ShadowPosition
- Reboot
-
- DesqView Features:
-
- DvKillTask
- DvFreeze
- DvUnFreeze
- DvLastHandle
- DvMyHandle
- DvSetTop
- DvSetBottom
- DvHide
- DvUnHide
- DvFrame (On/Off)
- DvMoveWindow
- DvResizeWindow
-
- ===============================================================
-
- Version 2.24
-
- Added data scrambling to the MRX files making it harder for anyone to
- look for things they aren't supposed to see.
-
- I've made another modification to the MARX.BAT file. It no longer
- requires the second parameter specifying the path for the temporary
- batch file. If it is omitted, the directory containing MARXMENU.EXE is
- assumed. MarxMenu will also read the environment variable TEMP for the
- directory of temporary batch files. the TEMP path is used in windows and
- DOS 5 has declared it the official path for temporary files.
-
- Pathing through the TEMP path is not required.
-
- New Commands:
-
- Extension (String) : String
- NamePart (String) : String
- PathPart (String) : String
- FilePart (String) : String
-
- LogoffTime
- MarxMenu supports automatic logoff after a number of minutes of
- inactivity set by LogoffTime. This only has effect while you are in the
- menu and not while an application is running. It is set as follows:
-
- LogoffTime = 5 ;sets time to 5 minutes
-
- Setting LogoffTime to 0 disbles this feature.
-
- When the time to logoff occurs, MarxMenu will first look for a batch
- file in the \LOGIN directory called OFF.BAT. If it doesn't find it,
- MarxMenu will look for OFF.BAT on the PATH. If this isn't found,
- MarxMenu will look for LOGOFF.EXE. If this isn't found, then MarxMenu
- will look for LOGOUT.COM.
-
- LOGOFF.EXE and LOGOUT.COM are executed by stuffing the keyboard buffer.
-
- The best way to use this feature is to create an OFF.BAT file in your
- \LOGIN directory or on the PATH.
-
- ===============================================================
-
- Version 2.25
-
- Logoff
- Logoff logs you off the network the same way that LogoffTime does except
- it does it immediately.
-
- NovChangePassword (OldPassword,NewPassword)
- Changes the novell users password.
-
- UseNovPassword : Boolean
- If UseNovPassword is set to true then the screen blanker will require
- that the user type his Novell password to unblank the screen. Full
- Novell security and intruder detection is active here. If Novell's
- intruder detection is active, then if an intruder fials to type in the
- password after a number of attempts, then Netware will not accept the
- correct password until intruder detection allows it.
-
- If you don't know what intruder detection is, read the Netware manuals
- on the subject. It is something you should use.
-
- NovAttach (Server)
- NovAttach is used to create a software link between you and a server,
- usually a second server. It must be followed by a NovLogin command to
- log you into the server.
-
- NovDetach (Server)
- This is used to drop the connection to a server.
-
- NovUsers (Array)
- Fills array with list of all users.
-
- NovUsersLoggedIn (Array)
- Fills array with list of all users that are currently logged in.
-
- NovGroups (Array)
- Fills array with list of all groups.
-
- NovPrintQueues (Array)
- Fills array with list of all print Queues.
-
- MachineName : String
- This reads or sets the MachineName for NetBios networks.
-
- Example:
- MachineName = IBM ;sets the MachineName
- Writeln MachineName ;displays the MachineName
-
- EraseWindow (Number)
- Erases a window by number. This allows you to erase a window that is not
- the top window.
-
- The following routines have been enhanced.
-
- CapsLock
- NumLock
- ScrollLock
-
- New Feature:
-
- PrintScreen (On/Off) ;turns the Print Screen function on and off
-
- Blink : Boolean
-
- Blink is a boolean variable that when set to true allows you to specify
- colors that will blink. To make a color that blinks, set the background
- color to a bright color. A bright color is a color from 8 to 15.
-
- Normally, when Blink is off, MarxMenu strips the high bit of the colors.
- When Blink is on, high bit stripping is disabled.
-
- Example:
- Blink
- TextColor Green LRed
-
- Because the background color is light red, the text will blink.
-
- Warning: Blinking characters can cause headaches and eye strain. I
- resisted adding this feature for a long time because I personally hate
- excessive blinking characters on the screen. I now recognize that
- blinking can be very effective when used correctly. Please use blinking
- sparingly.
-
- SortArray (Array)
- SortArray will do an alphabetical sort on an array of strings.
-
- Example: Sort a Text File
-
- Usage: DIR|MARXMENU SORT|MORE
- MARXMENU SORT INFILE OUTFILE
-
- var SortBuf
- ClearScreenOnExit Off
- ReadTextFile (ParamStr(2),SortBuf)
- SortArray(SortBuf)
- WriteTextFile (ParamStr(3),SortBuf)
-
- ApplicationMemory : Number
- Returns the number of bytes of memory available to an application when
- MarxMenu exits out to the MARX.BAT file. This is the actual amount of
- ram available to your application.
-
- ===============================================================
-
- Version 2.26
-
- Got and update on my windows library so I'm bumping the version number.
- I've also done considerable work on the novell translator menu.
-
- 04-08-91
-
- Added a new module dealing with time and dates. Dates are stored as 32
- bit positive numbers which represent the number of seconds since
- 01-01-1980. This gives a range of about 68 years.
-
- By storing dates as number of seconds since a date, you can calculate
- the difference between to dates in seconds by subtracting them. To
- change the result to minutes you divide by 60. To change to hours,
- divide by 3600.
-
- New Commands:
-
- Now : Date
- Returns the current moment as a date.
-
- Today : Date
- Returns the current day. Hour, Minute, and Second are set to 0.
-
- YearOf (Date) : Number
- Returns the year of a date. If Date is passed as a string it is
- converted automatically.
-
- MonthOf (Date) : Number
- Returns the month of a date. If Date is passed as a string it is
- converted automatically.
-
- DayOf (Date) : Number
- Returns the day of a date. If Date is passed as a string it is
- converted automatically.
-
- HourOf (Date) : Number
- Returns the hour of a date. If Date is passed as a string it is
- converted automatically.
-
- MinuteOf (Date) : Number
- Returns the minute of a date. If Date is passed as a string it is
- converted automatically.
-
- SecondOf (Date) : Number
- Returns the second of a date. If Date is passed as a string it is
- converted automatically.
-
- DayOfWeekOf (Date) : Number
- Returns the DayOfWeek of a date. If Date is passed as a string it is
- converted automatically.
-
- TimeOf (String) : Number
- Converts a string representing a date to a date number.
-
- Examples:
- '4-7-91' ;04-07-1991 00:00:00
- 'April 7th, 1991 4:35pm' ;04-07-1991 16:35:00
- '12:35:23a' ;04-07-1991 00:35:23
- '3:15' ;04-07-1991 03:15:00
-
- If the string can't be converted, then BadDate is set to true.
-
- BadDate : Boolean
- Set to true if you try to convert a string to a date and the date is
- invalid.
-
- SecondsInHour : Number
- Returns 3600
-
- SecondsInDay : number
- Returns 86400
-
- NovPasswordExpDate (UserName) : Date
- Returns the Novell password expiration date. You must be logged in to be
- able to read this.
-
- Example:
- DaysToExpire = NovPasswordExpDate(UserName) - Today / SecondsInDay
-
- NovAccountExpDate (UserName) : Date
- Returns the Novell account expiration date. You must be logged in to be
- able to read this.
-
- Example:
- DaysToExpire = NovAccountExpDate(UserName) - Today / SecondsInDay
-
- The LOGIN.MNU has been rewritten to incorporate the NovPasswordExpDate
- featue.
-
-
- IdelProgram : Procedure
-
- IdelProgram is a variable that when set to the location of a procedure
- allows the procedure to run while waiting at the keyboard. This is done
- by writing a procedure that will run while waiting for input.
-
- The way you use this is to set an internal variable named IdelProgram to
- the Loc of the procedure you want to run as follows:
-
- Example:
- IdelProgram = Loc MyProcedure
-
- Note: Do not use parentheses around MyProcedure.
-
- When writing MyProcedure make it as short and quick as possible. As of
- now, MyProcedure is called continously while there is no keyboard input.
- You can also use a loop in it as follows.
-
- Procedure MyProcedure
- SetItUp
- while not KBDReady
- {do your thing}
- endwhile
- PutItBack
- EndProc
-
- MarxMenu doesn't automatically exit your procedure or save and restore
- anything. If you're writing to the screen you have to put everything
- back the way it was.
-
- If you want to run a program at a specific time, here's how it can be
- done:
-
- Procedure MyProcedure
- if Now = TimeOf('11:00pm')
- Bat 'NIGHT' ;run NIGHT.BAT
- ExitMenu
- endif
- if Now = TimeOf('5:00')
- Bat 'MORNING' ;run MORNING.BAT
- ExitMenu
- endif
- EndProc
-
- I welcome your feedback on this new feature.
-
- 04-10-91
-
- OverKey : String
- When using UseArrows, OverKey returns the character that selects the
- item that the inverse bar is over.
-
- This can be used with IdelProgram to display context sensitive help as
- you move the inverse bar over different selections.
-
- SetWindowUnder (Window1,Window2)
- This command moves Window1 underneath Window2. This can be used to put a
- window back in the stack after you use SetTopWindow.
-
- ===============================================================
-
- Version 2.27
-
- 4-16-91
-
- Did a lot of internal reworking to better support background tasking and
- made some improfements in the mouse and screen blanker logic. Also made
- MarxMenu load a little faster and improved memory management.
-
- In order to support background tasking better a few new variables have
- been added.
-
- KeyFromMouse : Boolean
- Normally mouse activity is translated into keystrokes. This variable is
- set to true if the keystroke came from the mouse.
-
- Blanked : Boolean
- Returns true if the screen blanker has kicked it. This lets you alter
- your idel program based on if the screen blanker is active.
-
- 4-21-91
- ViewArray (Array)
- Allows you to view an array of strings in the current window. Works just
- like ViewTextFile.
-
- Memory access has been modified to write to memory locations as well as
- read them. This is done as follows:
-
- Mem($40,10) = 23
-
- Port access has been modified the same way.
-